﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include<string.h>
//int main()
//{
//	int n = 10;
//	char* pc = (char*)&n;
//	int* pi = &n;
//
//	printf("%p\n", &n);
//	printf("%p\n", pc);
//	printf("%p\n", pc + 1);
//	printf("%p\n", pi);
//	printf("%p\n", pi + 1);
//	return 0;
//}
//指针的关系运算
//#include <stdio.h>
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int* p = &arr[0];
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	while (p < arr + sz) //指针的⼤⼩⽐较
//	{
//		printf("%d ", *p);
//		p++;
//	}
//	return 0;
//}

//int main()
//{
//	char str[] = "abcdef";
//	int count = 0;
//	char* p = str;
//	while (*p != '\0')
//	{
//		count++;
//		p++;
//	}
//	printf("%d\n", count);
//	return 0;
//}

//int my_strlen(char* p)
//{
//	char* s = p;
//	while (*p != '\0')
//	{
//		p++;
//	}
//	return p - s;
//}
//int main()
//{
//	char str[] = "abcdef";
//	printf("%d\n", my_strlen(str));
//	return 0;
//}

//int my_strlen(char* p)
//{
//	if (*p == '\0')
//		return 0;
//	else
//	{
//		p++;
//		return 1 + my_strlen(p);
//	}
//}
//int main()
//{
//	char* s = "abcdef";
//	printf("%d\n", my_strlen(s));
//	return 0;
//}

//char* my_strcpy(char* s1, const char* s2)
//{
//	char* p = s1;
//	while (*s1++=*s2++)
//	;
//	return p;
//}
//int main()
//{
//	char s1[100];
//	const char* s2 = "hello world";
//	char* ret=my_strcpy(s1, s2);
//	printf("%s", ret);
//	return 0;
//}

//char* my_strcat(char* s1, const char* s2)
//{
//	char* p = s1;
//	while (*s1 != '\0')
//	{
//		s1++;
//	}
//	while (*s1++=*s2++)
//		;
//	*s1 = *s2;
//	return p;
//}
//char s1[] = "abcd";
//int main()
//{
//	const char* s2 = "efgh";
//	printf("%s\n", my_strcat(s1,s2));
//	return 0;
//}

#include<stdio.h>
void test(int arr[])
{
	int sz2 = sizeof(arr) / sizeof(arr[0]);
	printf("sz2=%d\n", sz2);
}
int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int sz1 = sizeof(arr) / sizeof(arr[0]);
	printf("sz1=%d\n", sz1);
	test(arr);
	return 0;
}